Flink API-তে তিনটি বেসিক কম্পোনেন্ট আছে: Source, Transformation, এবং Sink। এরা একসাথে ডাটা প্রসেসিং পাইপলাইন তৈরি করে। এই কম্পোনেন্টগুলোকে ব্যাখ্যা করা হলো:
Source হলো সেই কম্পোনেন্ট, যা ডাটা স্ট্রিম বা ডাটা ফাইল থেকে ইনপুট হিসেবে ডাটা গ্রহণ করে। এটি ডাটা স্ট্রিমিং শুরু করার জন্য প্রথম ধাপ। Flink API বিভিন্ন ধরণের ইনপুট সোর্স সাপোর্ট করে, যেমন:
Example:
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStream<String> stream = env.readTextFile("path/to/your/file.txt");
Transformation হলো সেই প্রক্রিয়া, যা ইনপুট সোর্স থেকে পাওয়া ডাটাকে বিভিন্ন ভাবে প্রক্রিয়াজাত করে আউটপুট হিসেবে তৈরি করে। Transformation-এর মাধ্যমে ডাটা ফিল্টার করা, ম্যাপ করা, গ্রুপ করা বা যোগ করা যায়। Flink API বেশ কিছু Transformation প্রদান করে, যেমন:
Example:
DataStream<String> stream = env.readTextFile("path/to/your/file.txt");
DataStream<String> filteredStream = stream
.filter(line -> line.contains("Flink"))
.map(line -> line.toUpperCase());
Sink হলো Flink পাইপলাইনের শেষ কম্পোনেন্ট, যা প্রসেস করা ডাটাকে কোথাও স্টোর বা প্রকাশ করে। Sink কম্পোনেন্ট ডাটাকে বিভিন্ন জায়গায় লেখার জন্য ব্যবহার করা হয়, যেমন:
Example:
filteredStream.writeAsText("path/to/output/file.txt");
Flink API-তে ডাটা স্ট্রিম প্রসেসিং সাধারণত তিনটি ধাপের মাধ্যমে হয়:
এই তিনটি কম্পোনেন্ট ব্যবহার করে একটি সম্পূর্ণ Flink ডাটা স্ট্রিমিং অ্যাপ্লিকেশন তৈরি করা হয়।